﻿@page "/"
@inject NavigationManager _NavigationManager
@layout MainLayout
@attribute [ReuseTabsPageTitle("首页")]
@implements IDisposable

<PageTitle>首页</PageTitle>
<div style="position:fixed;bottom:0;right:0;height:150px;width:150px;background-image:url('Resources/logo.jpg');background-size: contain;z-index:-1" />
<div>
    <Title>中北-百事通系统</Title>
    <Paragraph>
        这是我的中北万事王系统设计，界面稍微有点简陋，但是数据库设计部分已经全部完成了。可以正常使用。需要在数据库中先注册一个账号。
    </Paragraph>
    <Paragraph>
        ✨以下是本系统的一些相关功能：
    </Paragraph>
    <Paragraph>
        <ul>
            <li>
                （1）<Text Strong>员工管理系统</Text>：在这里可以修改人员信息，人员状态，查看人员的所属部门。
            </li>
            <li>
                （2）<Text Strong>请假管理系统</Text>：用户可以追踪当前请假的进度，同时也可以进行一些例如销假的操作。管理员可以审核用户请假的需求，并且批准同意，或给出相关的意见。
            </li>
            <li>
                （3）<Text Strong>人事调动系统</Text>：可以申请调换部门和申请退休，并且还可以上传<Text Strong>附件</Text>。
            </li>
            <li>
                （4）<Text Strong>加班管理系统</Text>：在这里可以申请加班的认定记录，以及可以看到自己的加班审核状态。
            </li>
            <li>
                （5）<Text Strong>考勤管理系统</Text>：您可以进行每天的打卡任务，并且您可以看到自己今日是否迟到和其他状况信息。
            </li>
            <li>
                （6）<Text Strong>薪资管理系统</Text>：您可以在这里看到您的本月预计薪水和您所在部门所发布的薪水核算标准，以及您的历史薪水。
            </li>
        </ul>
    </Paragraph>

</div>

<SurveyPrompt Title="这是数据库原理课程的一个小小作业" />
@{
    var url = "AddLeaveData";
}
<Button Type="primary" OnClick="()=>{_NavigationManager.NavigateTo(url);}">现在就去请假👉</Button>
<div>
    @if (GobalManager.myInfo?.Type == EmployeeLeaveSystem.Shared.Models.StaffType.Manager) {
        <Divider />
        <Title Level="3">后台管理系统</Title>
        <Paragraph>您是本系统的管理员，欢迎使用管理员系统进行审核相关信息</Paragraph>
        var ToUrl = "/Manager/Index";
        <Button OnClick="()=>{_NavigationManager.NavigateTo(ToUrl);}">使用管理系统</Button>
    }
</div>

@code {
    protected override void OnInitialized() {
        Console.WriteLine("【Index】注册UserFlush");
        GobalManager.Instance.MyInfoCed += UserFlush;
        base.OnInitialized();
    }
    public void UserFlush() {
        StateHasChanged();
    }
    public void Dispose() {
        Console.WriteLine("【Index】释放资源");
        GobalManager.Instance.DisposeMyInfoCed(UserFlush);
    }
}